home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)t4.d64 / jogger.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  8KB  |  298 lines

  1. 1 GOSUB10000
  2. 11 DIM DE(11,6)
  3. 12 FORI=0TO10
  4. 13 DE(I,0)=CAL(I)
  5. 14 DE(I,1)=TME(I)
  6. 15 DE(I,2)=DIS(I)
  7. 16 DE(I,3)=STD(I)
  8. 17 DE(I,4)= MH(I)
  9. 18 DE(I,5)= MM(I)
  10. 19 NEXT
  11. 20 I=0
  12. 25 PRINT"[147]"
  13. 26 PRINT
  14. 27 PRINTTAB(5)"FUNCTIONS (SELECT A NUMBER)"
  15. 28 PRINT
  16. 29 PRINT"1 READ DATA FROM TAPE"
  17. 30 PRINT"2 ENTER NEW JOGGING DATA"
  18. 31 PRINT"3 SUMMARY OF DAILY RECORDS"
  19. 32 PRINT"4 PRINT DATA TO TAPE"
  20. 33 PRINT"5 VIEW CHARTS"
  21. 34 PRINT"6 END PROGRAM"
  22. 35 INPUTA
  23. 36 IFA=1THEN44
  24. 37 IFA=2THEN220
  25. 38 IFA=3THEN500
  26. 39 IFA=4THEN800
  27. 40 IFA=5THEN2000
  28. 41 IFA=6THEN7000
  29. 44 REM READ FROM TAPE
  30. 45 PRINT"[147]**READ JOGGING DATA FROM TAPE**":PRINT
  31. 50 PRINT"**MOUNT TAPE**":PRINT
  32. 55 PRINT"**PRESS <RETURN> WHEN READY**":PRINT
  33. 60 GETA$:IFA$=""THEN60
  34. 65 PRINT"**OPENING DATA FILE**":OPEN1,1,0,"JOGGER":PRINT
  35. 68 INPUT#1,I:PRINT"INDEX IS "I
  36. 70 FORX=1TOI
  37. 75 INPUT#1,CAL$(X):PRINT"DATE    :"CAL$(X)
  38. 77 INPUT#1,T(X):PRINT"TIME    :"T(X)
  39. 79 INPUT#1,D(X):PRINT"DISTANCE:"D(X)
  40. 81 INPUT#1,S(X):PRINT"STRIDES :"S(X)
  41. 83 INPUT#1,MH(X):PRINT"MILES/HR:"MH(X)
  42. 85 INPUT#1,MM(X):PRINT"MIN/MILE:"MM(X)
  43. 90 NEXT
  44. 91 PRINT"**CLOSING DATA FILE**":CLOSE1
  45. 105 PRINT"PRESS <RETURN> WHEN READY TO PROCEED"
  46. 106 GETA$:IFA$=""THEN106
  47. 107 GOTO25
  48. 220 POKE53281,5:PRINTCHR$(144):PRINT"[147]ENTER JOGGING DATA"
  49. 225 I=I+1
  50. 228 PRINT" "CHR$(18)"0"CHR$(146)"      DATE:"
  51. 230 PRINT" "CHR$(18)"1"CHR$(146)" TIME(MIN):"
  52. 240 PRINT" "CHR$(18)"2"CHR$(146)"  DISTANCE:"
  53. 250 PRINT" "CHR$(18)"3"CHR$(146)"   STRIDES:"
  54. 260 PRINT" "CHR$(18)"4"CHR$(146)"  MILES/HR:"
  55. 270 PRINT" "CHR$(18)"5"CHR$(146)"  MIN/MILE:"
  56. 280 IN%=5
  57. 290 PRINT"";TAB(13);
  58. 295 GOSUB8000:CAL$(I)=CC$
  59. 298 PRINTCHR$(13);TAB(13)
  60. 300 GOSUB8000:TME$(I)=CC$
  61. 310 PRINTCHR$(13);TAB(13)
  62. 320 GOSUB8000:DIS$(I)=CC$
  63. 330 PRINTCHR$(13);TAB(13)
  64. 340 GOSUB8000:STD$(I)=CC$
  65. 350 T(I)=VAL(TME$(I)):D(I)=VAL(DIS$(I)):S(I)=VAL(STD$(I))
  66. 360 MH(I)=D(I)/(T(I)/60):MM(I)=T(I)/D(I)
  67. 370 PRINTCHR$(13)TAB(13);MH(I);"[157][157][157][157][157][157][157][157]";TAB(18)"        "
  68. 380 PRINTTAB(13);MM(I);"[157][157][157][157][157][157][157][157]";TAB(18)"          "
  69. 390 PRINT"DO YOU WANT TO ENTER MORE DATA (Y/N)":INPUTA$
  70. 395 IFA$="Y"THEN220
  71. 400 FORX=1TOI:PRINTCHR$(13)
  72. 405 PRINT" DATE:     "CAL$(X)
  73. 406 PRINT"           [163][163][163][163][163]"
  74. 410 PRINT" TIME:    "T(X)
  75. 420 PRINT" DISTANCE:"D(X)"[157][157][157][157][157][157][157][157]"TAB(15)"       "
  76. 430 PRINT" STRIDES: "S(X)
  77. 440 PRINT" MILES/HR:"MH(X)"[157][157][157][157][157][157][157][157]"TAB(15)"      "
  78. 450 PRINT" MIN/MILE:"MM(X)"[157][157][157][157][157][157][157][157]"TAB(15)"         "
  79. 455 IFX=2ORX=4ORX=6ORX=8ORX=10THENGOTO7010
  80. 460 NEXT
  81. 465 PRINT
  82. 466 PRINT
  83. 467 PRINT"PRESS <RETURN> WHEN READY"
  84. 468 GETA$:IFA$=""THEN468
  85. 469 GOTO25
  86. 500 TS=0:SD=0:SS=0:SH=0:SM=0
  87. 510 FORX=1TOI
  88. 515 TS=TS+T(X):SD=SD+D(X):SS=SS+S(X):SH=SH+MH(X):SM=SM+MM(X)
  89. 520 NEXT
  90. 530 TS=TS/I:SD=SD/I:SS=SS/I:SH=SH/I:SM=SM/I
  91. 540 PRINT"ENTER 'MONTH' OF SUMMARY'":INPUTB$
  92. 550 PRINT"[147]"TAB(12);B$
  93. 555 PRINTTAB(10)"SUMMARY"
  94. 560 PRINT"[163][163][163][163][163][163][163]"
  95. 570 PRINT"TIME    :";TS;"[157][157][157][157][157][157][157][157][157][157]"TAB(14)"              "
  96. 575 PRINT"DISTANCE:";SD;"[157][157][157][157][157][157][157][157][157][157]"TAB(14)"              "
  97. 580 PRINT"STRIDES :";SS;"[157][157][157][157][157][157][157][157][157][157]"TAB(14)"              "
  98. 585 PRINT"MILES/HR:";SH;"[157][157][157][157][157][157][157][157][157][157]"TAB(14)"              "
  99. 590 PRINT"MIN/MILE:";SM;"[157][157][157][157][157][157][157][157][157][157]"TAB(14)"               "
  100. 595 PRINT
  101. 596 PRINT
  102. 597 PRINT"PRESS <RETURN> WHEN READY"
  103. 598 GETA$:IFA$=""THEN598
  104. 599 GOTO25
  105. 800 REM PRINT DETAIL DATA TO TAPE
  106. 805 PRINT"[147]**CREATE DATA FILE**:?
  107. 810 [153]" **MOUNT TAPE**"
  108. 815 [153]" **PRESS <RETURN> WHEN READY**":[153]
  109. 820 [161]A$:[139]A$[178]""[167]820
  110. 825 [153]" **OPENING DATA FILE**":[159]1,1,1,"JOGGER":[153]
  111. 828 [152]1,I
  112. 830 [129]X[178]1[164]I
  113. 835 [152]1,CAL$(X)
  114. 840 [152]1,T(X)
  115. 845 [152]1,D(X)
  116. 850 [152]1,S(X)
  117. 855 [152]1,MH(X)
  118. 860 [152]1,MM(X)
  119. 865 [130]
  120. 870 [160]1
  121. 875 [153]
  122. 876 [153]
  123. 877 [153]"PRESS <RETURN> WHEN READY"
  124. 878 [161]A$:[139]A$[178]""[167]878
  125. 879 [137]25
  126. 2000 [143] DEVELOP CHARTS
  127. 2040 [153]"LOADCHARTS (SELECT A NUMBER)"
  128. 2045 [153]"1. TIME"
  129. 2046 [153]"2. DISTANCE"
  130. 2047 [153]"3. STRIDES"
  131. 2048 [153]"4. MILES/HR"
  132. 2049 [153]"5. MIN/MILE"
  133. 2050 [153]"6. LIST FUNCTIONS"
  134. 2051 [153]"7. END PROGRAM"
  135. 2052 [161]A$:[139]A$[178]""[167]2052
  136. 2055 [139]A$[178]"1"[167]2080
  137. 2056 [139]A$[178]"2"[167]2500
  138. 2057 [139]A$[178]"3"[167]3000
  139. 2058 [139]A$[178]"4"[167]3500
  140. 2059 [139]A$[178]"5"[167]4000
  141. 2060 [139]A$[178]"6"[167]25
  142. 2061 [139]A$[178]"7"[167]7000
  143. 2080 [151]53281,13:[151]53280,9:[153][199](144)
  144. 2085 [153]"LOAD"[163]12)"TIME IN MINUTES"
  145. 2090 [141]9090
  146. 2120 [153]""[163]2)"48"[163]36)"48"
  147. 2125 [153]""[163]2)"46"[163]36)"46"
  148. 2130 [153]""[163]2)"44"[163]36)"44"
  149. 2135 [153]""[163]2)"42"[163]36)"42"
  150. 2140 [153]""[163]2)"40"[163]36)"40"
  151. 2141 P[178]7:[129]X[178]1[164]I:[153][163]P[171]1)[200](CAL$(X),3);:P[178]P[170]5:[130]
  152. 2142 [153][199](13)"ON":P[178]7:[129]X[178]1[164]I:[153][163]P)[201](CAL$(X),2);:P[178]P[170]5:[130]
  153. 2143 [153][199](13):[153] "PRESS <RETURN> FOR NEW SELECTION"
  154. 2144 P[178]7
  155. 2145 [129]X[178]1[164]I
  156. 2150 [139]T(X)[179][181](T(X))[170].3[167]T(X)[178][181](T(X))
  157. 2155 [139]T(X)[177][181](T(X))[170].3[175]T(X)[179][181](T(X))[170].7[167]T(X)[178][181](T(X))[170].5
  158. 2160 [139]T(X)[177][181](T(X))[170].7[167]T(X)[178][181](T(X))[170]1
  159. 2175 [129]T[178]1784[170]P[164](1784[170]P)[171](T(X)[171]40)[172]80[169][171]40:[151]T,160:[130]
  160. 2180 [129]T[178]56056[170]P[164](56056[170]P)[171](T(X)[171]40)[172]80[169][171]40:[151]T,6:[130]
  161. 2185 P[178]P[170]5
  162. 2190 [130]
  163. 2200 [161]A$:[139]A$[178]""[167]2200
  164. 2201 [137]2040
  165. 2500 [151]53281,14:[151]53280,5:[153][199](144)
  166. 2505 [153]"LOAD"[163]12)"DISTANCE IN MILES"
  167. 2510 [141]9090
  168. 2515 [153]""[163]1)"6.0"[163]36)"6.0"
  169. 2520 [153]""[163]1)"5.5"[163]36)"5.5"
  170. 2525 [153]""[163]1)"5.0"[163]36)"5.0"
  171. 2530 [153]""[163]1)"4.5"[163]36)"4.5"
  172. 2535 [153]""[163]1)"4.0"[163]36)"4.0"
  173. 2540 P[178]7:[129]X[178]1[164]I:[153][163]P[171]1)[200](CAL$(X),3);:P[178]P[170]5:[130]               
  174. 2545 [153][199](13)"ON":P[178]7:[129]X[178]1[164]I:[153][163]P)[201](CAL$(X),2);:P[178]P[170]5:[130]
  175. 2550 [153][199](13):[153] "PRESS <RETURN> FOR NEW SELECTION"
  176. 2555 P[178]7
  177. 2560 [129]X[178]1[164]I
  178. 2580 [129]T[178]1784[170]P[164](1784[170]P)[171](D(X)[171]4.0)[172]320[169][171]40:[151]T,160:[130]
  179. 2585 [129]T[178]56056[170]P[164](56056[170]P)[171](D(X)[171]4.0)[172]320[169][171]40:[151]T,7:[130]
  180. 2590 P[178]P[170]5
  181. 2595 [130]
  182. 2600 [161]A$:[139]A$[178]""[167]2600
  183. 2605 [137]2040
  184. 3000 [151]53281,11:[151]53280,7:[153][199](144)
  185. 3010 [153]"LOAD"[163]11)"NUMBER OF STRIDES(K)"
  186. 3020 [141]9090
  187. 3025 [153]""[163]1)"8.0"[163]36)"8.0"
  188. 3030 [153]""[163]1)"7.5"[163]36)"7.5"
  189. 3035 [153]""[163]1)"7.0"[163]36)"7.0"
  190. 3040 [153]""[163]1)"6.5"[163]36)"6.5"
  191. 3045 [153]""[163]1)"6.0"[163]36)"6.0"
  192. 3050 P[178]7:[129]X[178]1[164]I:[153][163]P[171]1)[200](CAL$(X),3);:P[178]P[170]5:[130]
  193. 3055 [153][199](13)"ON":P[178]7:[129]X[178]1[164]I:[153][163]P)[201](CAL$(X),2);:P[178]P[170]5:[130]
  194. 3060 [153][199](13):[153] "PRESS <RETURN> FOR NEW SELECTION"
  195. 3065 P[178]7
  196. 3070 [129]X[178]1[164]I
  197. 3075 [129]T[178]1784[170]P[164](1784[170]P)[171](S(X)[173]1000[171]6.0)[172]320[169][171]40:[151]T,160:[130]T
  198. 3085 [129]T[178]56056[170]P[164](56056[170]P)[171](S(X)[173]1000[171]6.0)[172]320[169][171]40:[151]T,5:[130]T
  199. 3090 P[178]P[170]5
  200. 3095 [130]X
  201. 3100 [161]A$:[139]A$[178]""[167]3100
  202. 3105 [137]2040
  203. 3500 [151]53281,7:[151]53280,6:[153][199](144)
  204. 3505 [153]"LOAD"[163]13)"MILES PER HOUR"
  205. 3510 [141]9090
  206. 3515 [153]""[163]1)"7.5"[163]36)"7.5"
  207. 3520 [153]""[163]1)"7.0"[163]36)"7.0"
  208. 3525 [153]""[163]1)"6.5"[163]36)"6.5"
  209. 3530 [153]""[163]1)"6.0"[163]36)"6.0"
  210. 3535 [153]""[163]1)"5.5"[163]36)"5.5"
  211. 3540 P[178]7:[129]X[178]1[164]I:[153][163]P[171]1)[200](CAL$(X),3);:P[178]P[170]5:[130]
  212. 3545 [153][199](13)"ON":P[178]7:[129]X[178]1[164]I:[153][163]P)[201](CAL$(X),2);:P[178]P[170]5:[130]
  213. 3550 [153][199](13):[153] "PRESS <RETURN> FOR NEW SELECTION"
  214. 3555 P[178]7
  215. 3560 [129]X[178]1[164]I
  216. 3580 [129]T[178]1784[170]P[164](1784[170]P)[171](MH(X)[171]5.5)[172]320[169][171]40:[151]T,160:[130]
  217. 3585 [129]T[178]56056[170]P[164](56056[170]P)[171](MH(X)[171]5.5)[172]320[169][171]40:[151]T,3:[130]
  218. 3590 P[178]P[170]5
  219. 3595 [130]
  220. 3600 [161]A$:[139]A$[178]""[167]3600
  221. 3605 [137]2040
  222. 4000 [151]53281,10:[151]53280,15:[153][199](144)
  223. 4010 [153]"LOAD"[163]12)"MINUTES PER MILE"
  224. 4020 [141]9090
  225. 4025 [153]""[163]1)"9.5"[163]36)"9.5"
  226. 4030 [153]""[163]1)"9.0"[163]36)"9.0"
  227. 4035 [153]""[163]1)"8.5"[163]36)"8.5"
  228. 4040 [153]""[163]1)"8.0"[163]36)"8.0"
  229. 4045 [153]""[163]1)"7.5"[163]36)"7.5"
  230. 4050 P[178]7:[129]X[178]1[164]I:[153][163]P[171]1)[200](CAL$(X),3);:P[178]P[170]5:[130]
  231. 4055 [153][199](13)"ON":P[178]7:[129]X[178]1[164]I:[153][163]P)[201](CAL$(X),2);:P[178]P[170]5:[130]
  232. 4060 [153][199](13):[153] "PRESS <RETURN> FOR NEW SELECTION"
  233. 4065 P[178]7
  234. 4070 [129]X[178]1[164]I
  235. 4075 [129]T[178]1784[170]P[164](1784[170]P)[171](MM(X)[171]7.5)[172]320[169][171]40:[151]T,160:[130]T
  236. 4085 [129]T[178]56056[170]P[164](56056[170]P)[171](MM(X)[171]7.5)[172]320[169][171]40:[151]T,4:[130]T
  237. 4090 P[178]P[170]5
  238. 4095 [130]X
  239. 4100 [161]A$:[139]A$[178]""[167]4100
  240. 4105 [137]2040
  241. 7000 [128]
  242. 7010 [153]"WHEN READY TO SEE NEXT SET OF DATA      PRESS 'Y'":[133]A$
  243. 7020 [139]A$[178]"Y"[167]460
  244. 7030 [137]7000
  245. 8000 ST%[178][185](X)
  246. 8010 [153]"";
  247. 8020 [129]A[178]1[164]IN%:[153]" ";:[130]
  248. 8030 [153]"WAIT";[199](13);"ON";[163]ST%)
  249. 8040 CC$[178]"":J%[178]0
  250. 8050 [129]A[178]1[164]IN%
  251. 8060 :J%[178]J%[170]1
  252. 8070 :[161]C$:[139]C$[178]""[167]8070
  253. 8080 :[139]C$[178]"_"[167][153][199](13)[199](145)[163]ST%):[137]8010
  254. 8090 :[139]C$[178][199](13)[167]8120
  255. 8100 :[153]C$;:CC$[178]CC$[170]C$
  256. 8110 [130]
  257. 8120 [139]J%[178]IN%[167]8160
  258. 8130 [129]A[178]J%[164]IN%
  259. 8140 :CC$[178]CC$[170]" "
  260. 8150 [130]
  261. 8160 [153][199](13);"ON";[163]ST%);CC$;
  262. 8170 [142]
  263. 9090 [129]J[178]1068[164]1099:[151]J,99:[130]
  264. 9100 [129]J[178]55340[164]55371:[151]J,1:[130]
  265. 9110 [129]J[178]1829[164]1858:[151]J,99:[130]
  266. 9111 [129]J[178]56101[164]56130:[151]J,1:[130]
  267. 9112 [129]J[178]1068[164]1788[169]40:[151]J,103:[130]
  268. 9113 [129]J[178]55340[164]56060[169]40:[151]J,1:[130]
  269. 9114 [129]J[178]1099[164]1819[169]40:[151]J,101:[130]
  270. 9115 [129]J[178]55371[164]56091[169]40:[151]J,1:[130]
  271. 9116 [142]
  272. 10000 [153]"LOAD":[151]53281,1:[151]53280,15:[153][199](144)
  273. 10010 [153][163]9)"JOGGER - 4 TO 6 MILES
  274. 10015 PRINTTAB(12)"BY SID HOROVITZ"
  275. 10020 PRINT""TAB(3)"'JOGGER' KEEPS A RECORD OF YOUR DATA ";
  276. 10030 PRINT"FROM RUNNING 4 TO 6 MILES. USE THE ";
  277. 10040 PRINT"DIS- PLAY CHARTS AS WELL AS PERMANENT ";
  278. 10050 PRINT"STORAGEFACILITY ON TAPE FOR FILE ";
  279. 10060 PRINT"LENGTHS UP TO 6 ITEMS (JOGS). FOR DISK ";
  280. 10070 PRINT"OPERATION,     CHANGE SUBROUTINES AT LINES ";
  281. 10080 PRINT"44 AND 800."
  282. 10190 PRINT"PRESS <RETURN> WHEN READY
  283. 10195 [161]A$:[139]A$[178]""[167]10195
  284. 10200 [153]"LOAD"[163]12)"INSTRUCTIONS"
  285. 10210 [153]"TO ENTER NEW DATA (MAX. 5 DIGITS EACH)"
  286. 10220 [153]"  'DATE':     MONTH-3 DIGITS, DAY-2                   DIGITS"
  287. 10230 [153]"  'TIME':     NUMBER OF MINUTES TO                    2 DECIMALS"
  288. 10240 [153]"  'DISTANCE': NUMBER OF MILES TO                      3 DECIMALS"
  289. 10250 [153]"  'STRIDES':  NUMBER OF STRIDES TAKEN."
  290. 10255 [153]"              THIS IS OPTIONAL"
  291. 10260 [153]"YOUR PERFORMANCE WILL BE DISPLAYED IN:"
  292. 10270 [153]"    MILES PER HOUR"
  293. 10280 [153]"    MINUTES PER MILE"
  294. 10290 [153]"PRESS '_' TO CORRECT DATA ON ANY LINE"
  295. 10480 [153]"PRESS <RETURN> WHEN READY"
  296. 10490 [161]A$:[139]A$[178]""[167]10490
  297. 10500 [142]
  298.